package com.example.administrator.familfinalcialmanagement.greendao.gen;

import java.util.Map;

import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.AbstractDaoSession;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig;

import com.example.administrator.familfinalcialmanagement.bean.PayInfoBean;
import com.example.administrator.familfinalcialmanagement.bean.ResidueBean;
import com.example.administrator.familfinalcialmanagement.bean.SisterJing;
import com.example.administrator.familfinalcialmanagement.bean.TimeBean;
import com.example.administrator.familfinalcialmanagement.bean.ToastBean;
import com.example.administrator.familfinalcialmanagement.bean.User;
import com.example.administrator.familfinalcialmanagement.bean.WalletBean;

import com.example.administrator.familfinalcialmanagement.greendao.gen.PayInfoBeanDao;
import com.example.administrator.familfinalcialmanagement.greendao.gen.ResidueBeanDao;
import com.example.administrator.familfinalcialmanagement.greendao.gen.SisterJingDao;
import com.example.administrator.familfinalcialmanagement.greendao.gen.TimeBeanDao;
import com.example.administrator.familfinalcialmanagement.greendao.gen.ToastBeanDao;
import com.example.administrator.familfinalcialmanagement.greendao.gen.UserDao;
import com.example.administrator.familfinalcialmanagement.greendao.gen.WalletBeanDao;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 * 
 * @see org.greenrobot.greendao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

    private final DaoConfig payInfoBeanDaoConfig;
    private final DaoConfig residueBeanDaoConfig;
    private final DaoConfig sisterJingDaoConfig;
    private final DaoConfig timeBeanDaoConfig;
    private final DaoConfig toastBeanDaoConfig;
    private final DaoConfig userDaoConfig;
    private final DaoConfig walletBeanDaoConfig;

    private final PayInfoBeanDao payInfoBeanDao;
    private final ResidueBeanDao residueBeanDao;
    private final SisterJingDao sisterJingDao;
    private final TimeBeanDao timeBeanDao;
    private final ToastBeanDao toastBeanDao;
    private final UserDao userDao;
    private final WalletBeanDao walletBeanDao;

    public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
            daoConfigMap) {
        super(db);

        payInfoBeanDaoConfig = daoConfigMap.get(PayInfoBeanDao.class).clone();
        payInfoBeanDaoConfig.initIdentityScope(type);

        residueBeanDaoConfig = daoConfigMap.get(ResidueBeanDao.class).clone();
        residueBeanDaoConfig.initIdentityScope(type);

        sisterJingDaoConfig = daoConfigMap.get(SisterJingDao.class).clone();
        sisterJingDaoConfig.initIdentityScope(type);

        timeBeanDaoConfig = daoConfigMap.get(TimeBeanDao.class).clone();
        timeBeanDaoConfig.initIdentityScope(type);

        toastBeanDaoConfig = daoConfigMap.get(ToastBeanDao.class).clone();
        toastBeanDaoConfig.initIdentityScope(type);

        userDaoConfig = daoConfigMap.get(UserDao.class).clone();
        userDaoConfig.initIdentityScope(type);

        walletBeanDaoConfig = daoConfigMap.get(WalletBeanDao.class).clone();
        walletBeanDaoConfig.initIdentityScope(type);

        payInfoBeanDao = new PayInfoBeanDao(payInfoBeanDaoConfig, this);
        residueBeanDao = new ResidueBeanDao(residueBeanDaoConfig, this);
        sisterJingDao = new SisterJingDao(sisterJingDaoConfig, this);
        timeBeanDao = new TimeBeanDao(timeBeanDaoConfig, this);
        toastBeanDao = new ToastBeanDao(toastBeanDaoConfig, this);
        userDao = new UserDao(userDaoConfig, this);
        walletBeanDao = new WalletBeanDao(walletBeanDaoConfig, this);

        registerDao(PayInfoBean.class, payInfoBeanDao);
        registerDao(ResidueBean.class, residueBeanDao);
        registerDao(SisterJing.class, sisterJingDao);
        registerDao(TimeBean.class, timeBeanDao);
        registerDao(ToastBean.class, toastBeanDao);
        registerDao(User.class, userDao);
        registerDao(WalletBean.class, walletBeanDao);
    }
    
    public void clear() {
        payInfoBeanDaoConfig.clearIdentityScope();
        residueBeanDaoConfig.clearIdentityScope();
        sisterJingDaoConfig.clearIdentityScope();
        timeBeanDaoConfig.clearIdentityScope();
        toastBeanDaoConfig.clearIdentityScope();
        userDaoConfig.clearIdentityScope();
        walletBeanDaoConfig.clearIdentityScope();
    }

    public PayInfoBeanDao getPayInfoBeanDao() {
        return payInfoBeanDao;
    }

    public ResidueBeanDao getResidueBeanDao() {
        return residueBeanDao;
    }

    public SisterJingDao getSisterJingDao() {
        return sisterJingDao;
    }

    public TimeBeanDao getTimeBeanDao() {
        return timeBeanDao;
    }

    public ToastBeanDao getToastBeanDao() {
        return toastBeanDao;
    }

    public UserDao getUserDao() {
        return userDao;
    }

    public WalletBeanDao getWalletBeanDao() {
        return walletBeanDao;
    }

}
